package br.projetopweb.controller.bean;

import java.util.List;

import javax.el.ELContext;
import javax.el.MethodExpression;
import javax.faces.application.Application;
import javax.faces.component.html.HtmlCommandButton;
import javax.faces.component.html.HtmlCommandLink;
import javax.faces.context.FacesContext;

import br.projetopweb.dao.bean.DAOCliente;
import br.projetopweb.dao.bean.DAOGerente;
import br.projetopweb.model.bean.Cliente;
import br.projetopweb.model.bean.Gerente;

@SuppressWarnings("unused")
public class LoginController {
	private String nome;
	private String login;
	private String senha;
	private String nivel;
	private String mensagem;
	private boolean islog = false;
	private HtmlCommandButton botao = new HtmlCommandButton();
	private HtmlCommandLink link;
	private int id;
	
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getLogin() {
		return login;
	}
	public void setLogin(String login) {
		this.login = login;
	}
	public String getSenha() {
		return senha;
	}
	public void setSenha(String senha) {
		this.senha = senha;
	}
		
	public String getMensagem() {
		return mensagem;
	}
	public void setMensagem(String mensagem) {
		this.mensagem = mensagem;
	}
	
	public HtmlCommandButton getBotao() {
		if(islog)
			botao.setStyle("display: none;");
		else
			botao.setValue("test");
		return botao;
		
	}
	public void setBotao(HtmlCommandButton botao) {
		this.botao = botao;
	}
		
	public String getNivel() {
		return nivel;
	}
	public void setNivel(String nivel) {
		this.nivel = nivel;
	}
	
	public boolean isIslog() {
		return islog;
	}
	public void setIslog(boolean islog) {
		this.islog = islog;
	}
		
	public HtmlCommandLink getLink() {
		return link;
	}
	public void setLink(HtmlCommandLink link) {
		this.link = link;
	}
	public int getId(){
		return id;
	}
	
	public void setId(int id){
		this.id= id;
	}
	
	
	public String ChecarLogin() throws UsuarioException{
		if(botao.getId().equals("logar")){
			DAOGerente daoGerente = new DAOGerente();
			List<Gerente> gerente = (List<Gerente>) daoGerente.findbyLogin(getLogin());
			
			DAOCliente daoCliente = new DAOCliente();
	   //	List<Cliente> cliente = (List<Cliente>) daoCliente.findbyLogin(getLogin());
			List<Cliente> cliente = (List<Cliente>) daoCliente.findAll();
			
		//	Cliente cliente = (Cliente) daoCliente.findbyLogin(login)
			for(Gerente grt : gerente){//checar se existe registro em gerente
				if(grt.getLogin().equals(senha)){
					nivel = "g";
					nome = grt.getNome();
					id = grt.getId();
					return "gerentepage";
				}
			}	
			
			for(Cliente cli: cliente){
				if(cli.getLogin().equals(login)){//checar se existe registro em cliente
			     	nivel = "cliente";
					nome = cli.getNome();
					id = cli.getId();
					return "clientepage";
     			}
			  }botao.setRendered(false);	
			mensagem = "Login ou senha invalidos";
			 return "";
	
			}
		return null;
		}
	
	public boolean CriarBotao(){
		if(nivel.equalsIgnoreCase("cliente")){
			setIslog(true);
//		return islog;
		}else{
			setIslog(false);
//			return islog;
		}return islog;
		
	}	
	
}//fecha a classe LoginController
